package com.lucy.disk.onlyoffice.entity;
import cn.hutool.core.io.file.FileNameUtil;
import com.lucy.common.converter.JpaColumnConverter;
import com.lucy.common.core.BaseEntity;
import com.lucy.disk.converter.FileExtendConverter;
import com.lucy.disk.domain.model.BaseFile;
import com.lucy.disk.utils.DiskUtil;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.*;
import org.hibernate.Hibernate;

import javax.persistence.Column;
import javax.persistence.Convert;
import javax.persistence.Entity;
import javax.persistence.Table;
import java.io.Serializable;
import java.util.Objects;
/**
 * onlyoffice定义的文档对象
 * @author: zhangcx
 * @date: 2019/8/7 16:30
 */

/**
 * @author kindear
 * 与 disk 进行集成
 */
@ApiModel("文档实体")
@Data
@NoArgsConstructor
@AllArgsConstructor
@Builder
public class Document implements Serializable {

    /** 【必需】文件唯一标识 */

    /* FileEntity 对象 id */
    @ApiModelProperty(value = "文档 key", example="xYz123")
    private String key;
    /** 【必需】文档名称 */
    @ApiModelProperty(value = "文档标题", example="test.doc")
    private String title;
    /** 【必需】文档后缀 */
    @ApiModelProperty(value = "文档类型", example="doc")
    private String fileType;
    /* mimeType 应该先校验文件是否可以打开(非api必须字段) */
    //private String mimeType;
    /** 文件实体在服务器硬盘存储位置 */
    @ApiModelProperty(value = "文档物理存储位置", example="/temp/test.doc")
    private String storage;
    /** 【必需】文件实体下载地址 */
    @ApiModelProperty(value = "文档获取url", example="http://10.4.89.60:8080/api/file/xYz123")
    private String url;
}
